package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 读取文本数据
 */
public class ReadStringDemo {
    public static void main(String[] args) throws IOException {
        //从fos.txt文件中读取文本数据.
        FileInputStream fis = new FileInputStream("fos.dat");

        byte[] data = new byte[500];
        int len = fis.read(data);
        System.out.println("实际读取到的长度:"+len);

        String line = new String(data,0,len,"UTF-8");

        System.out.println("字符串长度长度:"+line.length());
        System.out.println(line);

        fis.close();
        /** String(byte[] data,int offset,int len, String charsetName) */
        /*
            String提供了构造方法可以将一个字节数组还原为字符串
            String(byte[] data,int offset,int len,String charsetName)
            将给定的字节数组data中从下标offset处开始的连续len个字节以指定的字符集转换为字符串
         */


        /*
          String(byte[] bytes, int offset, int length)
          通过使用平台的默认字符集解码指定的 byte 子数组，构造一个新的 String。

          String(byte[] bytes, int offset, int length, Charset charset)
          通过使用指定的 charset 解码指定的 byte 子数组，构造一个新的 String。

          String(byte[] bytes, int offset, int length, String charsetName)
          通过使用指定的字符集解码指定的 byte 子数组，构造一个新的 String
        */


























    }
}
